package com.nd.android.musicboxlibrary.util;

import android.annotation.SuppressLint;
import android.content.Context;
import android.view.Gravity;
import android.widget.Toast;

/**
 * 吐司工具 Created 2014-7-24 上午12:13:14
 * 
 * @version
 * @author zxq
 * 
 * @see
 */
@SuppressLint("ShowToast")
public final class ToastUtil {
    private static Toast toast;

    /**
     * Creates a new instance of ToastUtil. <br>
     * Created 2014年9月11日 下午11:15:31
     */
    private ToastUtil() {
    }

    /**
     * 显示短时吐司 Created 2014-7-24 上午12:13:28
     * 
     * @param context
     *            上下文
     * @param msgId
     *            提示语ID
     * @author zxq
     */
    public static void showShort(Context context, int msgId) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
        }
        showToast(context.getString(msgId), Toast.LENGTH_SHORT, true);
    }

    /**
     * 显示短时吐司 Created 2014-7-24 上午12:13:28
     * 
     * @param context
     *            上下文
     * @param msg
     *            消息
     * @author zxq
     */
    public static void showShort(Context context, String msg) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
        }
        showToast(msg, Toast.LENGTH_SHORT, true);
    }

    /**
     * 显示长时吐司 
     * <br>Created 2014年11月16日 下午7:09:50
     * @param context
     *             上下文
     * @param msgId
     *             信息id
     * @author       wat.ztag
    */
    public static void showLong(Context context, int msgId) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_LONG);
        }
        showToast(context.getString(msgId), Toast.LENGTH_LONG, true);
    }

    /**
     * 显示长时吐司 Created 2014年9月11日 下午11:15:11
     * 
     * @param context
     *            上下文
     * @param msgId
     *            　提示语ID
     * @param isCenter
     *            是否居中
     * @author zxq
     */
    public static void showLong(Context context, int msgId, boolean isCenter) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_LONG);
        }
        showToast(context.getString(msgId), Toast.LENGTH_LONG, isCenter);
    }

    /**
     * 显示长时吐司 Created 2014-7-24 上午12:13:28
     * 
     * @param context
     *            上下文
     * @param msg
     *            提示语
     * @author zxq
     */
    public static void showLong(Context context, String msg) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_LONG);
        }
        showToast(msg, Toast.LENGTH_LONG, true);
    }

    /**
     * 显示长时吐司 Created 2014年9月11日 下午11:15:20
     * 
     * @param context
     *            上下文
     * @param msg
     *            提示语
     * @param isCenter
     *            是否居中
     * @author zxq
     */
    public static void showLong(Context context, String msg, boolean isCenter) {
        if (toast == null) {
            toast = Toast.makeText(context, "", Toast.LENGTH_LONG);
        }
        showToast(msg, Toast.LENGTH_LONG, isCenter);
    }

    /**
     * 显示吐司 Created 2014-7-27 上午12:48:36
     * 
     * @param msg
     *            要显示的信息
     * @param duration
     *            显示时间
     * @param isCenter
     *             居中
     * @author zxq
     */
    private static void showToast(String msg, int duration, boolean isCenter) {
        toast.setText(msg);
        toast.setDuration(Toast.LENGTH_LONG);
        if (isCenter) {
            toast.setGravity(Gravity.CENTER, 0, 0);
        }
        toast.show();
    }

}
